const Config = require('./config.js')
App({
  navigateToLogin: false,
  onLaunch: function(opt) {   
    
    /** 判断场景值，1044 为转发场景，包含shareTicket 参数 */
    if (opt.scene == 1044) {
      wx.getShareInfo({
        shareTicket: opt.shareTicket,
        success: function(res) {
          var encryptedData = res.encryptedData;
          var iv = res.iv;
        }
      })
    }    
    
  },
  goLoginPageTimeOut: function() {
    console.log('this.navigateToLogin ', this.navigateToLogin)
    if (this.navigateToLogin) {
      return
    }
    this.navigateToLogin = true
    setTimeout(function() {
      wx.navigateTo({
        url: "/pages/authorize-phone/index"
      })
    }, 100)
  },

  goUserInfoPage: function() {
    console.log('this.navigateToLogin ', this.navigateToLogin)
    if (this.navigateToLogin) {
      return
    }
    this.navigateToLogin = true
    setTimeout(function() {
      wx.navigateTo({
        url: "/pages/authorize/index"
      })
    }, 100)
  },

  // 检查本地storage中是否有登录态标识
  checkLoginStatus: function() {
    let that = this;
    let logFlag = wx.getStorageSync('loginFlag');
    console.log('当前登录态', logFlag)
    if (logFlag) {
      // 检查 session_key 是否过期
      wx.checkSession({
        // session_key 有效
        success: function() {
          // 直接从Storage中获取用户信息         
          let phoneStorageInfo = wx.getStorageSync('phoneNumber');
          console.log('phoneStorageInfo ', phoneStorageInfo)
          if (phoneStorageInfo) {
            that.globalData.phoneNumber = phoneStorageInfo;
          } else {
            that.showInfo('登录态丢失')
            console.error('登录成功后将用户信息存在Storage的phoneStorageInfo字段中，该字段丢失');
            that.doLogin();
          }
        },
        // session_key 过期
        fail: function() {
          // sessionn_key 过期
          that.doLogin();
        }
      })

    } else {
      // 无登录状态
      console.log('无登录状态')
      that.doLogin();
    }
  },
  globalData: {
    userInfo: null,
    isConnect: true, 
    partUserInfo: null,
  },
  globalApi: {
    baseUrl: Config.apiBaseURL,
    loginUrl: Config.apiBaseURL +'/login',
    merchantCode: Config.merchantCode,
  },
  doLogin: function() {
    let that = this;
    // wx.login({
    //   success: function(loginRes) {
    //     if (loginRes.code) {
    //       wx.request({
    //         url: that.globalApi.loginUrl,
    //         data: {
    //           code: loginRes.code
    //         },
    //         success: function(res) {
    //           console.log('login success', res);
    //           res = res.data;
    //           if (res.result == 0) {
    //             that.globalData.partUserInfo = res.data;
    //             wx.setStorageSync('loginFlag', res.data.skey);
    //             // 回到原来的地方放
    //             that.navigateToLogin = false
    //             wx.navigateBack();
    //           } else {
    //             that.showInfo(res.errmsg)
    //           }
    //         },
    //       })
    //     }
    //   },
    //   fail: function() {
    //     // 获取临时code失败
    //     that.showInfo('登录失败')
    //     console.log('调用wx.login获取code失败');
    //   }
    // })
  },
  showInfo: function(info = 'error', icon = 'none') {
    wx.showToast({
      title: info,
      icon: icon
    })
  },

  // getLoginFlag: function() {
  //   return wx.getStorageInfoSync('loginFlag');
  // },
  
  // 校验用户信息授权设置
  // checkUserInfoPermission: function(callback = () => {}) {
  //   wx.getSetting({
  //     success: function(res) {
  //       if (!res.authSetting['scope.userInfo']) {
  //         wx.openSetting({
  //           success: function(authSetting) {
  //             console.log(authSetting);
  //           }
  //         });
  //       }
  //     },
  //     fail: function(error) {
  //       console.log(error);
  //     }
  //   })
  // },
  
})

// // 获取用户信息 期望数据如下
// wx.getUserInfo({
//   withCredentials: true, // 非必填，默认是true
//   lang: 'zh_CN',
//   success: function(infoRes) {
//     // 请求服务端的登录接口
//     console.log('infoRes ', infoRes)
//     console.log('req addr ', that.globalApi.loginUrl)
//     wx.request({
//       url: that.globalApi.loginUrl,
//       data: {
//         code: loginRes.code, // 临时登录凭证
//         rawData: infoRes.rawData, // 用户非敏感信息
//         signature: infoRes.signature, // 签名
//         encryptedData: infoRes.encryptedData, // 用户敏感信息
//         iv: infoRes.iv //解密算法的向量
//       },
//       success: function(res) {
//         console.log('login success', res);
//         res = res.data;
//         if (res.result == 0) {
//           that.globalData.userInfo = res.userInfo;
//           // wx.setStorageSync('userInfo', JSON.stringify(res.userInfo));
//           // wx.setStorageSync('userInfo', res.userInfo);
//           wx.setStorageSync('loginFlag', res.skey);
//           // 回到原来的地方放
//           that.navigateToLogin = false
//           wx.navigateBack();
//         } else {
//           that.showInfo(res.errmsg)
//         }
//       },
//       fail: function(error) {
//         that.showInfo('调用接口失败')
//         console.log(error);
//       }
//     })
//   },
//   fail: function() {
//     // 获取用户信息失败，去检查是否未开启权限
//     wx.hideLoading();
//     // that.checkUserInfoPermission();
//   }
// })